1. Field of the Invention
The present invention generally relates to switches and techniques for communicating signals through switches. More specifically, the present invention relates to the design of a port-sliced buffered crossbar switch.
2. Related Art
The crossbar is a popular switch topology. In order to set an unbuffered crossbar switch accordingly at the crosspoints, an arbiter is often used to match the crossbar input ports with the crossbar output ports. However, crossbar arbitration is computationally costly, especially for high port counts. In addition, unbuffered crossbars typically operate synchronously, which is difficult at high port counts.
For these reasons, switch designers often relax constraints by adding buffers at the crosspoints. By doing this, arbitration becomes much simpler because the crossbar arbiter can be replaced by decoupled crossbar input and output arbiters. A crossbar output arbiter polls the set of crosspoint buffers corresponding to the output and decides from which buffer the output reads. Similarly, a crossbar input arbiter polls the set of crosspoint buffers corresponding to the input and decides to which buffer the input writes. Furthermore, a buffered crossbar allows asynchronous operation, which is an attractive feature for high port counts and multi-chip-module (MCM) implementations.
The depth of a crosspoint buffer is determined by the delay of the path between this buffer and the associated input port. In an MCM crossbar switch, this delay can be significant because the path may cross multiple chip boundaries, thereby contributing multiple off-chip communication delays. Because of these high communication delays, an MCM buffered crossbar switch may end up using very deep buffers, which can significantly increase the switch cost as the memory size needed to implement the crosspoint buffers often dominates chip resources. Consequently, the memory size needed to implement the crosspoint buffers often dominates chip resources, thereby increasing switch cost or limiting port count scalability.
Hence, what is needed are buffered crossbar switches without the problems described above.